home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Video Toaster 4.3
/
Video Toaster v4.3.iso
/
4.2
/
arexx
/
toasterpaint
/
tppads.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1998-04-16
|
4KB
|
147 lines
/* TPPads.rexx V2.0 -- Draw a pads BG */
/* By Bob Caron © 1995 NewTek Inc. */
parse arg InClipName","OutClipName","StartField","EndField
Address "DigiPaint"
options results
screen=0
if inclipname="" & outclipname="" then screen=1
if screen=1 then do
startfield=1
endfield=1
outclipname="Test"
end
IFFBaseName=OutClipName
if ~show('l','rexxsupport.library') then do
if ~addlib('rexxsupport.library',0,-30,34) then do
exit
end
end
/* Reset Paint */
'Pmcl'
'Pot0' 0
'Pot1' 0
'Poth' $8000
'Potv' $8000
'Spoh' $8000
'Spov'
/* End Of Reset*/
PageWide=752
PageHigh=480
dots=0
XWin = 100
YWin = 40
Clear = d2c(12)
nv = ''
cr = '0a'x
call getfontsize
wid = width*48
hei = theight+height*10
if screen=0 then do
if ~open('Window','RAW:'XWin'/'YWin'/'wid'/'hei'/TPPads Script V2.0 - CTRL-C to Abort/NOSIZE/SCREEN 'ps,'W') then do
exit
end
end
do Frame = StartField to (StartField+(EndField-StartField)/2)
if screen=0 then call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
if screen=0 then 'Gnfd' /* Get the next field to process */
call filter() /* Do The filter Thing... */
if screen=0 then 'Apfc' /* Apeend the field to clip */
if screen=0 then 'Gnfd' /* Get the next field to process */
if screen=0 then call filter() /* If this is a flyer clip do other field */
if screen=0 then 'Apfc' /* Apeend the field to clip */
if screen=1 then 'Shco' /* Render To Buffer (if this is screen processing)*/
end
if screen=0 then 'Iclp' /* Add an flyer icon to this clip */
exit
filter: /* Do a filter */
'Drre'
if screen=0 then call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
'Flon'
'Hvof' /* Turn off Horizontal and Vertical gradients */
if screen=0 then call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
'Hvar' /* Toggle Horiz and Vert. Gradient (on) */
'Dotb'
'Poth' $8000 /* Set Gradient center to middle ($0000 - $FFFF) */
'Potv' $8000 /* Set Gradient center to middle ($0000 - $FFFF) */
'Rang'
siz=80
if screen=0 then call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
do y=0 to 482 by siz
do x=0 to 752 by siz
'Pend' x y
'Penu' x+siz y+siz
end
end
if screen=0 then call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
return
OpenWindow:
parse arg InclipName,OutClipName,currentframe,EndFrame,Frame
pdots="...."
dots=dots+1
if dots>4 then dots=1
call writech('Window',Clear||nv||cr)
call writech('Window','Current Source Clip ['InClipName']'cr)
call writech('Window',' Current Dest Clip ['OutClipName']'cr)
call writech('Window',''cr)
call writech('Window','Current Frame: 'Frame/2''cr)
call writech('Window',' End Frame:'EndFrame/2''cr)
call writech('Window',''cr)
call writech('Window','Processing'right(pdots,dots)||cr)
return
getfontsize:
if open('font','env:sys/font.prefs','R') then do
font = readch('font',word(statef('env:sys/font.prefs'),2))
call close('font')
font = substr(font,index(font,'FONT')+4)
font = substr(font,index(font,'FONT')+4)
height = c2d(substr(font,29,2))
tfont = substr(font,index(font,'FONT')+4)
theight = c2d(substr(tfont,29,2))
font = substr(font,33)
font = left(font,index(font,d2c(0))-1-5)
if open('font','FONTS:'font'/'height,'R') then do
width = c2d(right(readch('font',116),2))
call close('font')
end
else if height=9 then width = 10
else width = 8
end
else do
theight = 8
height = 8
width = 8
end
return
CutBrush: PROCEDURE /* Cut out a brush with corners at (x1,y1) and (x2,y2) */
arg x1, y1, x2, y2
'Dotb' /* smallest brush size */
'Drre' /* Rectangle mode */
'Scis' /* Scissors on, for cutting a brush */
'Pend' x1 y1 /* Get in top Left corner */
'Penu' x2 y2 /* lift pen to get brush! */
return 0